fn main() {
    // 只在开发环境中设置 git hooks
    #[cfg(debug_assertions)]
    {
        use std::process::Command;

        // 检查是否在 git 仓库中
        if std::path::Path::new(".git").exists() {
            // 确保scripts目录存在
            std::fs::create_dir_all("scripts").ok();

            // 检查hooks安装脚本是否存在
            if std::path::Path::new("scripts/install-hooks.sh").exists() {
                // 设置脚本执行权限
                #[cfg(unix)]
                {
                    use std::os::unix::fs::PermissionsExt;
                    if let Ok(metadata) = std::fs::metadata("scripts/install-hooks.sh") {
                        let mut perms = metadata.permissions();
                        perms.set_mode(0o755);
                        std::fs::set_permissions("scripts/install-hooks.sh", perms).ok();
                    }
                }

                // 执行hooks安装脚本
                let output = Command::new("bash")
                    .arg("scripts/install-hooks.sh")
                    .output();

                match output {
                    Ok(result) => {
                        if result.status.success() {
                            println!("✅ Git hooks 安装成功");
                        } else {
                            eprintln!(
                                "⚠️  Git hooks 安装警告: {}",
                                String::from_utf8_lossy(&result.stderr)
                            );
                        }
                    }
                    Err(_) => {
                        println!("ℹ️  跳过 Git hooks 安装（可能不在 Unix 环境中）");
                    }
                }
            }
        }
    }

    println!("cargo:rerun-if-changed=build.rs");
    println!("cargo:rerun-if-changed=scripts/install-hooks.sh");
}
